DBToaster: A SQL Compiler for High-Performance Delta Processing in Main-Memory Databases
نویسندگان
چکیده
We present DBToaster, a novel query compilation framework for producing high performance compiled query executors that incrementally and continuously answer standing aggregate queries using in-memory views. DBToaster targets applications that require efficient main-memory processing of standing queries (views) fed by high-volume data streams, recursively compiling view maintenance (VM) queries into simple C++ functions for evaluating database updates (deltas). While today’s VM algorithms consider the impact of single deltas on view queries to produce maintenance queries, we recursively consider deltas of maintenance queries and compile to thoroughly transform queries into code. Recursive compilation successively elides certain scans and joins, and eliminates significant query plan interpreter overheads. In this demonstration, we walk through our compilation algorithm, and show the significant performance advantages of our compiled executors over other query processors. We are able to demonstrate 1-3 orders of magnitude improvements in processing times for a financial application and a data warehouse loading application, both implemented across a wide range of database systems, including PostgreSQL, HSQLDB, a commercial DBMS ’A’, the Stanford STREAM engine, and a commercial stream processor ’B’.
منابع مشابه
Using Object-Awareness to Optimize Join Processing in the SAP HANA Aggregate Cache
The introduction of columnar in-memory databases, along with hardware evolution, has made the execution of transactional and analytical workloads on a single system both feasible and viable. Yet, doing analytics directly on the transactional data introduces an increasing amount of resourceintensive aggregate queries which can slow down the overall system performance in a multi-user environment....
متن کاملMulti-versioning in Main-memory Databases: Limitations and Opportunities
Multi-version database systems preserve the explicit history of values taken by each database record. They do so by maintaining versions; if the value of a record needs to be updated, the system creates a new version, while keeping the previous value untouched. In contrast, a single-version database system updates records in place. As a consequence, in his seminal paper describing the “transact...
متن کاملClassifying ELH Ontologies In SQL Databases
The current implementations of ontology classification procedures use the main memory of the computer for loading and processing ontologies, which soon can become one of the main limiting factors for very large ontologies. We describe a secondary memory implementation of a classification procedure for ELH ontologies using an SQL relational database management system. Although secondary memory h...
متن کاملOn Scalable and Flexible Transaction and Query Processing in Main-Memory Database Systems
The hardware landscape for database systems has changed dramatically over the past two decades. Today, the traditional database system architecture that was pioneered by System R and is implemented by IBM DB2, Microsoft SQL Server, Oracle and Postgres, shows weaknesses in all major areas of application of commercial database systems: operational transaction processing, decision support and busi...
متن کاملMain Memory Databases vs. Disk-Resident Databases
Storing all database data in memory is an idea that many researchers have been studying it from mid-1980s when RAM prices decreased while their capacity increased. Main Memory Database systems (MMDB) are an efficient solution to store all database data in main physical memory. Conventional database systems like relational databases are optimized for disk I/O operations but Memory resident datab...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- PVLDB
دوره 2 شماره
صفحات -
تاریخ انتشار 2009